
package com.wk.code.wkserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wk.code.wkserver.entity.Permission;
import com.wk.code.wkserver.request.admin.PermissionRequest;
import com.wk.code.wkserver.response.admin.MenuResponse;
import com.wk.code.wkserver.response.admin.PermissionResponse;
import com.wk.code.wkserver.response.admin.PermissionTreeResponse;

import java.util.List;

/**
 * 权限
 *
 * @author wq
 * @date 2021-07-12 14:42:10
 */
public interface IPermissionService extends IService<Permission> {
    /**
     * 查询菜单集合
     *
     * @param roleId 角色ID
     * @return 集合
     */
    List<MenuResponse> findMenus(Integer roleId);

    /**
     * 添加权限
     *
     * @param req 参数
     */
    void addPermission(PermissionRequest req);

    /**
     * 修改权限
     *
     * @param req 参数
     * @param id  ID
     */
    void updatePermission(Integer id, PermissionRequest req);

    /**
     * 删除权限
     *
     * @param id ID
     */
    void delPermission(Integer id);

    /**
     * 树形集合
     *
     * @return list
     */
    List<PermissionTreeResponse> findTree();

    /**
     * 详情
     *
     * @param id ID
     * @return vo
     */
    PermissionResponse detail(Integer id);

    /**
     * 获取菜单列表
     *
     * @param userId 用户ID
     * @return List<MenuResponse>
     */
    List<MenuResponse> getMenus(Integer userId);
}
